/*
 * ReactionBuilder.h
 *
 *  Created on: 15 Jul 2011
 *      Author: al2010
 */

#ifndef REACTIONBUILDER_H_
#define REACTIONBUILDER_H_

// C++ includes
#include <string>
#include <vector>
using namespace std;

// GeoReact forward declarations
class SpeciesMap;
class Reaction;
class ReactionSystem;

namespace ReactionBuilder
{
	const ReactionSystem
	CreateReactionSystem(const SpeciesMap& speciesMap, const vector<string>& species);
	
	const Reaction
	CreateReaction(const SpeciesMap& speciesMap, const string& species);
	
	const Reaction
	CreatePlainReaction(const SpeciesMap& speciesMap, const string& species);
	
	const Reaction
	CreateBasisReaction(const SpeciesMap& speciesMap, const string& species);
	
	const Reaction
	CreateMineralReaction(const SpeciesMap& speciesMap, const string& mineral);
}

#endif /* REACTIONBUILDER_H_ */
